package main

import (
	"fmt"
	"os"
	"os/signal"
)

//视频教程地址：
//https://www.bilibili.com/video/BV1t54y1v78Q?p=11&spm_id_from=pageDriver

func main() {
	//如果用vscode的运行和停止，看不到效果
	//使用 go run 105信号与退出.go 来运行，按ctrl+c 结束

	//在linux系统里，有系统信号的概念。比如kill的默认信号就是15， kill -9 ，就是发送9的信号，也就是强退。 ctrl+c 发送的是 2的信号

	fmt.Println("start")
	//创建一个信道，它的类型是“系统信号”
	c := make(chan os.Signal)
	//对信号的监听
	signal.Notify(c)
	//读取信道中的值，会产生阻塞
	s := <-c
	fmt.Println()
	fmt.Println(s) //interrupt = SIGINT = 2
}
